home *** CD-ROM | disk | FTP | other *** search
/ Masterworks of Japanese …ko & Joe Price Collection / Masterworks of Japanese Painting: The Etsuko and Joe Price Collection.iso / axs.mst < prev    next >
Text File  |  1994-06-16  |  5KB  |  209 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  33.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  34.  
  35.     SetBitmap CUIDLL$, LOGO
  36.     SetTitle "ImageAXS Setup"
  37.  
  38.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  39.     IF szInf$ = "" THEN
  40.         szInf$ = GetSymbolValue("STF_CWDDIR") + "axs.INF"
  41.     END IF
  42.     ReadInfFile szInf$
  43.  
  44.     OPTCUR$ = "2"
  45.     DEST$ = "C:\EDO"
  46.  
  47. WELCOME:
  48.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  49.     IF sz$ = "CONTINUE" THEN
  50.         UIPop 1
  51.     ELSE
  52.         GOSUB ASKQUIT
  53.         GOTO WELCOME
  54.     END IF
  55.  
  56. 'OPTION:
  57. '    SetSymbolValue "RadioDefault", OPTCUR$
  58. 'OPTL1:
  59. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  60. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  61.  
  62. '    IF sz$ = "CONTINUE" THEN
  63. '    UIPop(1)
  64. '    ELSEIF sz$ = "REACTIVATE" THEN
  65. '    GOTO OPTL1
  66. '    ELSE
  67. '    GOSUB ASKQUIT
  68. '    GOTO OPTION
  69. '    END IF
  70.  
  71. GETPATH:
  72.     SetSymbolValue "EditTextIn", DEST$
  73.     SetSymbolValue "EditFocus", "END"
  74. GETPATHL1:
  75.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  76.     DEST$ = GetSymbolValue("EditTextOut")
  77.  
  78.     IF sz$ = "CONTINUE" THEN
  79.         IF IsDirWritable(DEST$) = 0 THEN
  80.             GOSUB BADPATH
  81.             GOTO GETPATHL1
  82.         END IF
  83.         UIPop 1
  84.     ELSEIF sz$ = "REACTIVATE" THEN
  85.         GOTO GETPATHL1
  86.     ELSEIF sz$ = "BACK" THEN
  87.         UIPop 1
  88.         GOTO GETPATH
  89.     ELSE
  90.         GOSUB ASKQUIT
  91.         GOTO GETPATH
  92.     END IF
  93.  
  94.  
  95.     Install
  96.  
  97.  
  98. QUIT:
  99.     ON ERROR GOTO ERRQUIT
  100.  
  101.     IF ERR = 0 THEN
  102.         dlg% = EXITSUCCESS
  103.     ELSEIF ERR = STFQUIT THEN
  104.         dlg% = EXITQUIT
  105.     ELSE
  106.         dlg% = EXITFAILURE
  107.     END IF
  108. QUITL1:
  109.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  110.     IF sz$ = "REACTIVATE" THEN
  111.         GOTO QUITL1
  112.     END IF
  113.     UIPop 1
  114.  
  115.     END
  116.  
  117. ERRQUIT:
  118.     i% = DoMsgBox("Setup sources were corrupted, call AXS at (510) 540-5232!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  119.     END
  120.  
  121.  
  122.  
  123. BADPATH:
  124.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  125.     IF sz$ = "REACTIVATE" THEN
  126.         GOTO BADPATH
  127.     END IF
  128.     UIPop 1
  129.     RETURN
  130.  
  131.  
  132.  
  133. ASKQUIT:
  134.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  135.  
  136.     IF sz$ = "EXIT" THEN
  137.         UIPopAll
  138.         ERROR STFQUIT
  139.     ELSEIF sz$ = "REACTIVATE" THEN
  140.         GOTO ASKQUIT
  141.     ELSE
  142.         UIPop 1
  143.     END IF
  144.     RETURN
  145.  
  146.  
  147.  
  148. '**
  149. '** Purpose:
  150. '**     Builds the copy list and performs all installation operations.
  151. '** Arguments:
  152. '**     none.
  153. '** Returns:
  154. '**     none.
  155. '*************************************************************************
  156. SUB Install STATIC
  157.  
  158.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  159.     CreateDir DEST$, cmoNone
  160.  
  161.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  162.     IF OPTCUR$ = "1" THEN
  163.         AddSectionFilesToCopyList "Samples", SrcDir$, MakePath (DEST$, "SAMPLES" )
  164.     END IF
  165.  
  166.     drive$ = MID$(DEST$, 1, 1)
  167. '    IF GetFreeSpaceForDrive(drive$) < GetCopyListCost("10000","","") THEN
  168. '    IF GetFreeSpaceForDrive(drive$) < 2000000 THEN
  169.     IF GetCopyListCost("10000","","") > 0 THEN
  170.         i% = DoMsgBox("Insufficient disk space. ImageAXS requires 2 Megabytes", "Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  171.         RETURN
  172.     END IF
  173.  
  174.     CopyFilesInCopyList
  175.  
  176.     CreateProgmanGroup "EDO-CD", "", cmoNone
  177.     ShowProgmanGroup  "EDO-CD", 1, cmoNone
  178.     CreateProgmanItem "EDO-CD", "ImageAXS-CD", MakePath(DEST$,"imageaxs.exe"), "", cmoOverwrite
  179.     CreateProgmanItem "EDO-CD", "Feature Tour", MakePath(SrcDir$,"Tour\Tour.exe"), "", cmoOverwrite
  180.     CreateProgmanItem "EDO-CD", "Edo Movie", MakePath(SrcDir$,"movie\Movie.exe"), "", cmoOverwrite
  181.     CreateProgmanItem "EDO-CD", "ReadMe.wri", MakePath(DEST$,"readme.wri"), "", cmoOverwrite
  182.  
  183. END SUB
  184.  
  185.  
  186.  
  187. '**
  188. '** Purpose:
  189. '**     Appends a file name to the end of a directory path,
  190. '**     inserting a backslash character as needed.
  191. '** Arguments:
  192. '**     szDir$  - full directory path (with optional ending "\")
  193. '**     szFile$ - filename to append to directory
  194. '** Returns:
  195. '**     Resulting fully qualified path name.
  196. '*************************************************************************
  197. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  198.     IF szDir$ = "" THEN
  199.         MakePath = szFile$
  200.     ELSEIF szFile$ = "" THEN
  201.         MakePath = szDir$
  202.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  203.         MakePath = szDir$ + szFile$
  204.     ELSE
  205.         MakePath = szDir$ + "\" + szFile$
  206.     END IF
  207. END FUNCTION
  208.  
  209.